package com.xbongbong.pro.invoice.pojo.dto;

import com.xbongbong.paas.toolbox.wrap.BaseDTO;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.util.List;
import java.util.Map;
import java.util.Set;

/**
 * @author 余乾
 * @version v1.0
 * @date 2020/1/10 21:32
 * @since v1.0
 */
@Getter
@Setter
@ToString
public class CheckRedInvoiceDeletePojo extends BaseDTO {
    private static final long serialVersionUID = 5750845304944297606L;
    /**
     * 红冲发票关联的合同 或采购合同map
     */
    private Map<Long, List<Long>> invoiceRefContractOrPurchaseMap;
    /**
     * 红冲发票关联的付、应收款map
     */
    private Map<Long,List<Long>> invoiceRefPaymentOrPayPlanMap;
    /**
     * 红冲发票关联的付、回款单map
     */
    private Map<Long,List<Long>> invoiceRefPaymentSheetOrPaySheetMap;
    /**
     * 合同、采购合同的金额map
     */
    private Map<Long,Double> contractOrPurchaseAmountMap;
    /**
     * 付款计划、应收款金额map
     */
    private Map<Long,Double> paymentOrPayPlanAmountMap;
    /**
     * 付、回款单的金额map
     */
    private Map<Long,Double> paymentSheetOrPaySheetAmountMap;
    /**
     * 合同 采购合同 历史开票金额map
     */
    private Map<Long,Double> contractOrPurchaseInvoiceHistoryMap;
    /**
     * 回、付款单历史开票金额map
     */
    private Map<Long,Double> paymentOrPayPlanInvoiceHistoryMap;
    /**
     * 回、付款单历史开票map
     */
    private Map<Long,Double> paymentSheetOrPaySheetInvoiceHistoryMap;
    /**
     * 合同 采购合同红冲发票开票金额
     */
    private Map<Long,Map<Long,Double>> contractOrPurchaseRedMoneyMap;
    /**
     * 回、付款计划红冲发票开票金额
     */
    private Map<Long,Map<Long,Double>> paymentOrPayPlanRedMoneyMap;
    /**
     * 回、付 款单红冲发票开票金额
     */
    private Map<Long,Map<Long,Double>> paymentSheetOrPaySheetRedMoneyMap;

    public CheckRedInvoiceDeletePojo(Map<Long, List<Long>> invoiceRefContractOrPurchaseMap, Map<Long, List<Long>> invoiceRefPaymentOrPayPlanMap, Map<Long, List<Long>> invoiceRefPaymentSheetOrPaySheetMap, Map<Long, Double> contractOrPurchaseAmountMap, Map<Long, Double> paymentOrPayPlanAmountMap, Map<Long, Double> paymentSheetOrPaySheetAmountMap, Map<Long, Double> contractOrPurchaseInvoiceHistoryMap, Map<Long, Double> paymentOrPayPlanInvoiceHistoryMap, Map<Long, Double> paymentSheetOrPaySheetInvoiceHistoryMap, Map<Long, Map<Long, Double>> contractOrPurchaseRedMoneyMap, Map<Long, Map<Long, Double>> paymentOrPayPlanRedMoneyMap, Map<Long, Map<Long, Double>> paymentSheetOrPaySheetRedMoneyMap) {
        this.invoiceRefContractOrPurchaseMap = invoiceRefContractOrPurchaseMap;
        this.invoiceRefPaymentOrPayPlanMap = invoiceRefPaymentOrPayPlanMap;
        this.invoiceRefPaymentSheetOrPaySheetMap = invoiceRefPaymentSheetOrPaySheetMap;
        this.contractOrPurchaseAmountMap = contractOrPurchaseAmountMap;
        this.paymentOrPayPlanAmountMap = paymentOrPayPlanAmountMap;
        this.paymentSheetOrPaySheetAmountMap = paymentSheetOrPaySheetAmountMap;
        this.contractOrPurchaseInvoiceHistoryMap = contractOrPurchaseInvoiceHistoryMap;
        this.paymentOrPayPlanInvoiceHistoryMap = paymentOrPayPlanInvoiceHistoryMap;
        this.paymentSheetOrPaySheetInvoiceHistoryMap = paymentSheetOrPaySheetInvoiceHistoryMap;
        this.contractOrPurchaseRedMoneyMap = contractOrPurchaseRedMoneyMap;
        this.paymentOrPayPlanRedMoneyMap = paymentOrPayPlanRedMoneyMap;
        this.paymentSheetOrPaySheetRedMoneyMap = paymentSheetOrPaySheetRedMoneyMap;
    }
}
